package Vista;



import Complementos.Conexion_BD;
import Complementos.Sesion;
import Complementos.Visual;
import Reportes.FrmReporte;
import Reportes.ReporteGrafico;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.sql.ResultSet;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.sql.SQLException;
import javax.swing.JMenuItem;

public class main extends javax.swing.JFrame {

    /** Creates new form main */

    public main() {
       
            initComponents();
            this.setIconImage(new ImageIcon(getClass().getResource("/Media/logo1.png")).getImage());
            mostrarLabels(false);
            if (Sesion.NOMBRE_PERFIL.equals("Administrador"))
                menuAdmin.setEnabled(true);
            else
                menuAdmin.setEnabled(false);
            //iniciarInterfaz();
            //System.out.println(""+this.getName());
            
        
        
    }

    
    public void mostrarLabels(boolean valor){
            lblPerfil.setVisible(valor);
            lblUsuario.setVisible(valor);
        
    }
    
    public void iniciarInterfaz(){
        //JFrame form = new JFrame();
        //Class.forName("Vista.main.item_frmRegistrarOdontologo");
        try {
            //frmRegistrarOdontologo m = new frmRegistrarOdontologo();
            //String frm = m.getClass().getName();
            //int cortar = frm.indexOf(".");
            //String nombreArchivo = frm.substring(cortar+1);
            //System.out.println(""+nombreArchivo);
            
            
            Conexion_BD co =new Conexion_BD();
            co.Conectar();
            ResultSet rs = null;
            rs = co.Consultar("select nombreArchivo from item where activoItem = 1");
          
            
          
            while (rs.next()){
            String nombre = "Vista.main.item_"+rs.getString(1);
            System.out.println(nombre);
                if(obtenerPermisos(rs.getString(1)) == 1){
                    //itemRegistrarOdontologo.setEnabled(true);
                    try {
                            System.out.println("Frm: "+nombre);
                            JMenuItem form = (JMenuItem) Class.forName(nombre).newInstance();
                            form.setEnabled(true);
                            break;
                        } catch (Exception ex) {
                            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    
                    
                }else{
                    try {
                            System.out.println("Frm: "+nombre);
                            JMenuItem form = (JMenuItem) Class.forName(nombre).newInstance();
                            form.setEnabled(true);
                        } catch (Exception ex) {
                            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
                        }
                }
                   
                
                
                
            } // Fin_While
            
            //frmMantenerItem fr = new frmMantenerItem();
            
            //System.out.println(""+fr.getClass().getName());
//            String nombre = "Vista."+rs.getString(1);
//            
//            
//            JFrame form = (JFrame) Class.forName(nombre).newInstance();
//            form.setVisible(true);
          
            
        } catch (Exception ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        lblUsuario = new javax.swing.JLabel();
        lblPerfil = new javax.swing.JLabel();
        lblIP = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        mainAdminOdontologo = new javax.swing.JMenu();
        itemRegistrarOdontologo = new javax.swing.JMenuItem();
        itemBuscarOdontologo = new javax.swing.JMenuItem();
        itemMantenerOdontologo = new javax.swing.JMenuItem();
        mainAdminTecnicoDental = new javax.swing.JMenu();
        itemRegistrarTecnicoDental = new javax.swing.JMenuItem();
        itemBuscarTecnicoDental = new javax.swing.JMenuItem();
        itemMantenerTecnicoDental = new javax.swing.JMenuItem();
        mainAdminPaciente = new javax.swing.JMenu();
        itemRegitrarPaciente = new javax.swing.JMenuItem();
        itemBuscarPaciente = new javax.swing.JMenuItem();
        itemMantenerPaciente = new javax.swing.JMenuItem();
        mainAdminTratamiento = new javax.swing.JMenu();
        itemMantenerTratamiento = new javax.swing.JMenuItem();
        mainAdminDiagnostico = new javax.swing.JMenu();
        itemMantenerDiagnostico = new javax.swing.JMenuItem();
        mainAdminMotivo = new javax.swing.JMenu();
        itemMantenerMotivo = new javax.swing.JMenuItem();
        mainAdminReserva = new javax.swing.JMenu();
        itemRegistrarCita = new javax.swing.JMenuItem();
        itemVerCitas = new javax.swing.JMenuItem();
        mainReportes = new javax.swing.JMenu();
        itemReportesGraficos = new javax.swing.JMenuItem();
        menuAdmin = new javax.swing.JMenu();
        itemMantenerPerfil = new javax.swing.JMenuItem();
        AsignarPerfil = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("..::  Sonrisas Tools :..           by CMIM Brothers Corporation INC.");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Media/logo1.png"))); // NOI18N

        jLabel2.setFont(new java.awt.Font("Constantia", 0, 36)); // NOI18N
        jLabel2.setText("Sonrisas Tools 1.0");

        jLabel3.setFont(new java.awt.Font("Constantia", 0, 18)); // NOI18N
        jLabel3.setText("Un producto de CMIM Brothers Corporation INC.");

        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(null, new java.awt.Color(204, 204, 255)));

        lblUsuario.setFont(new java.awt.Font("Verdana", 1, 13)); // NOI18N
        lblUsuario.setText("usuario");

        lblPerfil.setFont(new java.awt.Font("Verdana", 1, 13)); // NOI18N
        lblPerfil.setText("perfil");

        lblIP.setFont(new java.awt.Font("Verdana", 1, 13)); // NOI18N
        lblIP.setText("ip");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(26, 26, 26)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblUsuario)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(lblIP)
                        .addComponent(lblPerfil)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(22, 22, 22)
                .addComponent(lblUsuario)
                .addGap(18, 18, 18)
                .addComponent(lblPerfil)
                .addGap(18, 18, 18)
                .addComponent(lblIP)
                .addContainerGap(35, Short.MAX_VALUE))
        );

        jMenu1.setText("Inicio");
        jMenu1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu1ActionPerformed(evt);
            }
        });

        mainAdminOdontologo.setText("Administrar odontólogo");

        itemRegistrarOdontologo.setText("Registrar odontólogo");
        itemRegistrarOdontologo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemRegistrarOdontologoActionPerformed(evt);
            }
        });
        mainAdminOdontologo.add(itemRegistrarOdontologo);
        itemRegistrarOdontologo.getAccessibleContext().setAccessibleName("item1");

        itemBuscarOdontologo.setText("Buscar odontólogo");
        itemBuscarOdontologo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarOdontologoActionPerformed(evt);
            }
        });
        mainAdminOdontologo.add(itemBuscarOdontologo);

        itemMantenerOdontologo.setText("Mantener odontólogo");
        itemMantenerOdontologo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerOdontologoActionPerformed(evt);
            }
        });
        mainAdminOdontologo.add(itemMantenerOdontologo);

        jMenu1.add(mainAdminOdontologo);

        mainAdminTecnicoDental.setText("Administrar técnico dental");

        itemRegistrarTecnicoDental.setText("Registrar técnico dental");
        itemRegistrarTecnicoDental.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemRegistrarTecnicoDentalActionPerformed(evt);
            }
        });
        mainAdminTecnicoDental.add(itemRegistrarTecnicoDental);

        itemBuscarTecnicoDental.setText("Buscar técnico dental");
        itemBuscarTecnicoDental.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarTecnicoDentalActionPerformed(evt);
            }
        });
        mainAdminTecnicoDental.add(itemBuscarTecnicoDental);

        itemMantenerTecnicoDental.setText("Mantener técnico dental");
        itemMantenerTecnicoDental.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerTecnicoDentalActionPerformed(evt);
            }
        });
        mainAdminTecnicoDental.add(itemMantenerTecnicoDental);

        jMenu1.add(mainAdminTecnicoDental);

        mainAdminPaciente.setText("Administrar paciente");

        itemRegitrarPaciente.setText("Registrar paciente");
        itemRegitrarPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemRegitrarPacienteActionPerformed(evt);
            }
        });
        mainAdminPaciente.add(itemRegitrarPaciente);

        itemBuscarPaciente.setText("Buscar paciente");
        itemBuscarPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarPacienteActionPerformed(evt);
            }
        });
        mainAdminPaciente.add(itemBuscarPaciente);

        itemMantenerPaciente.setText("Mantener paciente");
        itemMantenerPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerPacienteActionPerformed(evt);
            }
        });
        mainAdminPaciente.add(itemMantenerPaciente);

        jMenu1.add(mainAdminPaciente);

        mainAdminTratamiento.setText("Administrar tratamientos");

        itemMantenerTratamiento.setText("Mantener tratamientos");
        itemMantenerTratamiento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerTratamientoActionPerformed(evt);
            }
        });
        mainAdminTratamiento.add(itemMantenerTratamiento);

        jMenu1.add(mainAdminTratamiento);

        mainAdminDiagnostico.setText("Administrar diagnósticos");

        itemMantenerDiagnostico.setText("Mantener diagnósticos");
        itemMantenerDiagnostico.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerDiagnosticoActionPerformed(evt);
            }
        });
        mainAdminDiagnostico.add(itemMantenerDiagnostico);

        jMenu1.add(mainAdminDiagnostico);

        mainAdminMotivo.setText("Administrar motivos");

        itemMantenerMotivo.setText("Mantener motivos");
        itemMantenerMotivo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerMotivoActionPerformed(evt);
            }
        });
        mainAdminMotivo.add(itemMantenerMotivo);

        jMenu1.add(mainAdminMotivo);

        mainAdminReserva.setText("Administrar reservas");

        itemRegistrarCita.setText("Reservar cita");
        itemRegistrarCita.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemRegistrarCitaActionPerformed(evt);
            }
        });
        mainAdminReserva.add(itemRegistrarCita);

        itemVerCitas.setText("Ver citas reservadas");
        itemVerCitas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemVerCitasActionPerformed(evt);
            }
        });
        mainAdminReserva.add(itemVerCitas);

        jMenu1.add(mainAdminReserva);

        mainReportes.setText("Reportes");

        itemReportesGraficos.setText("Reportes Graficos");
        itemReportesGraficos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemReportesGraficosActionPerformed(evt);
            }
        });
        mainReportes.add(itemReportesGraficos);

        jMenu1.add(mainReportes);

        jMenuBar1.add(jMenu1);

        menuAdmin.setText("Administrador");

        itemMantenerPerfil.setText("Mantener perfil");
        itemMantenerPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMantenerPerfilActionPerformed(evt);
            }
        });
        menuAdmin.add(itemMantenerPerfil);

        AsignarPerfil.setText("Asignar perfil");
        AsignarPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AsignarPerfilActionPerformed(evt);
            }
        });
        menuAdmin.add(AsignarPerfil);

        jMenuBar1.add(menuAdmin);

        jMenu2.setText("Acerca");

        jMenuItem7.setText("About Sonrisas Tools 1.0");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem7);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(45, 45, 45)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(48, 48, 48)
                                .addComponent(jLabel2)))
                        .addContainerGap())
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(36, 36, 36))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(58, 58, 58)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 287, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(92, 92, 92)
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel3)
                        .addGap(18, 18, 18)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(52, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed
           
    }//GEN-LAST:event_jMenu1ActionPerformed

    private void itemBuscarPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarPacienteActionPerformed
    
    }//GEN-LAST:event_itemBuscarPacienteActionPerformed

    private void itemRegitrarPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemRegitrarPacienteActionPerformed
        if (obtenerPermisos("frmRegistrarPaciente") == 1) {   
            frmRegistrarPaciente r = frmRegistrarPaciente.getInstancia();
            r.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemRegitrarPaciente.setEnabled(false);
        }   
    }//GEN-LAST:event_itemRegitrarPacienteActionPerformed

    private void itemRegistrarCitaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemRegistrarCitaActionPerformed
        if (obtenerPermisos("frmReservaCita") == 1) {   
            frmReservaCita r=new frmReservaCita(this, true);
            r.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemRegistrarCita.setEnabled(false);
        } 
        
        
        
    }//GEN-LAST:event_itemRegistrarCitaActionPerformed

    private void itemVerCitasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemVerCitasActionPerformed
        if (obtenerPermisos("frmReporteReservas") == 1) {   
            frmReporteReservas r = frmReporteReservas.getInstancia();
            r.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemVerCitas.setEnabled(false);
        } 
        
        
        
        
    }//GEN-LAST:event_itemVerCitasActionPerformed

    private void itemRegistrarOdontologoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemRegistrarOdontologoActionPerformed
        if (obtenerPermisos("frmRegistrarOdontologo") == 1) {   
            frmRegistrarOdontologo m = new frmRegistrarOdontologo();
            m.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemRegistrarOdontologo.setEnabled(false);
        }
    }//GEN-LAST:event_itemRegistrarOdontologoActionPerformed

    private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
        frmAcercaDe n=new frmAcercaDe(this, true);
        n.setVisible(true); 
    }//GEN-LAST:event_jMenuItem7ActionPerformed

    private void itemBuscarOdontologoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarOdontologoActionPerformed
        if (obtenerPermisos("frmEditarPersona") == 1) {   
            frmEditarPersona mr = new frmEditarPersona();
             mr.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemBuscarOdontologo.setEnabled(false);
        }
        
        
        
        
        
    }//GEN-LAST:event_itemBuscarOdontologoActionPerformed

    private void itemMantenerOdontologoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerOdontologoActionPerformed
        if (obtenerPermisos("frmEditarPersona") == 1) {   
            frmEditarPersona ep=new frmEditarPersona();
            ep.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerOdontologo.setEnabled(false);
        }
        
        
        
        
    }//GEN-LAST:event_itemMantenerOdontologoActionPerformed

    private void itemMantenerMotivoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerMotivoActionPerformed
            if (obtenerPermisos("frmMantenerMotivo") == 1) {   
            frmMantenerMotivo mm = new frmMantenerMotivo(this,true);
            mm.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerMotivo.setEnabled(false);
        } 
        
        
        
        
    }//GEN-LAST:event_itemMantenerMotivoActionPerformed

    private void itemMantenerDiagnosticoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerDiagnosticoActionPerformed
       
        if (obtenerPermisos("frmMantenerDiagnostico") == 1) {   
            frmMantenerDiagnostico md = new frmMantenerDiagnostico(this,true);
            md.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerDiagnostico.setEnabled(false);
        } 
   
    }//GEN-LAST:event_itemMantenerDiagnosticoActionPerformed

    private void itemMantenerTratamientoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerTratamientoActionPerformed
        if (obtenerPermisos("frmMantenerTratamiento2") == 1) {   
            frmMantenerTratamiento2 mt = new frmMantenerTratamiento2(this,true);
            mt.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerTratamiento.setEnabled(false);
        } 
        
        
        
        
    }//GEN-LAST:event_itemMantenerTratamientoActionPerformed

    private void itemRegistrarTecnicoDentalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemRegistrarTecnicoDentalActionPerformed
        if (obtenerPermisos("frmRegistrarTecnicoDental") == 1) {   
            frmRegistrarTecnicoDental ep=new frmRegistrarTecnicoDental();
            ep.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemRegistrarTecnicoDental.setEnabled(false);
        } 
        
    }//GEN-LAST:event_itemRegistrarTecnicoDentalActionPerformed

    private void itemMantenerTecnicoDentalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerTecnicoDentalActionPerformed
               if (obtenerPermisos("frmMantenerTecnicoDental") == 1) {   
                    frmMantenerTecnicoDental rt = new frmMantenerTecnicoDental();
                    rt.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerTecnicoDental.setEnabled(false);
        }
        
        
        
        
    }//GEN-LAST:event_itemMantenerTecnicoDentalActionPerformed

    private void itemBuscarTecnicoDentalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarTecnicoDentalActionPerformed
        
        
        
        frmMantenerTecnicoDental rt = new frmMantenerTecnicoDental();
        rt.setVisible(true);
    }//GEN-LAST:event_itemBuscarTecnicoDentalActionPerformed

    private void itemMantenerPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerPacienteActionPerformed
        if (obtenerPermisos("frmConsultarPaciente") == 1) {   
            frmConsultarPaciente frm = new frmConsultarPaciente();
            frm.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemMantenerPaciente.setEnabled(false);
        }
        
        
        
        
        
    }//GEN-LAST:event_itemMantenerPacienteActionPerformed

    private void itemReportesGraficosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemReportesGraficosActionPerformed
        if (obtenerPermisos("ReporteGrafico") == 1) {   
            Reportes.ReporteGrafico x = new ReporteGrafico();
                x.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(this, "No tiene permisos para ver este formulario", "Accesso denegado", JOptionPane.ERROR_MESSAGE);
            itemReportesGraficos.setEnabled(false);
        }
        
        
        
    }//GEN-LAST:event_itemReportesGraficosActionPerformed

    private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
        mostrarLabels(true);
        lblUsuario.setText("Bienvenido/a a Sonrisas Tools, "+Sesion.NOMBRE_USUARIO);
        lblPerfil.setText("Usted tiene privilegios de "+Sesion.NOMBRE_PERFIL);
        try {
            lblIP.setText("Su dirección IP: "+ InetAddress.getLocalHost().getHostAddress());
        } catch (UnknownHostException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        //Sesion s=new Sesion();
//        if (!Sesion.privilegios.isEmpty())
//            JOptionPane.showMessageDialog(this, "El HashMap tiene "+Sesion.privilegios.size());
//        else
//            JOptionPane.showMessageDialog(this, "HashMap vacio "); 
     
    }//GEN-LAST:event_formWindowOpened

    private void itemMantenerPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMantenerPerfilActionPerformed
        frmMantenerPerfil fr = new frmMantenerPerfil();
        fr.setVisible(true);
    }//GEN-LAST:event_itemMantenerPerfilActionPerformed

    private void AsignarPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AsignarPerfilActionPerformed
        frmAsignarPerfil fr= new frmAsignarPerfil();
        fr.setVisible(true);
    }//GEN-LAST:event_AsignarPerfilActionPerformed

    
   public int obtenerPermisos(String nombreFormulario){
               int fila = 0;
               System.out.println("Formulario a buscar: "+nombreFormulario);
               for (Map dato : Sesion.privilegios){
                   if (dato.get("archivo").equals(nombreFormulario))
                       return Integer.parseInt(dato.get("ver").toString());
                   //fila++;
               }
               
               return 0;
   }
    
    
   
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
            Visual.aspectoMac();
            new main().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem AsignarPerfil;
    private javax.swing.JMenuItem itemBuscarOdontologo;
    private javax.swing.JMenuItem itemBuscarPaciente;
    private javax.swing.JMenuItem itemBuscarTecnicoDental;
    private javax.swing.JMenuItem itemMantenerDiagnostico;
    private javax.swing.JMenuItem itemMantenerMotivo;
    private javax.swing.JMenuItem itemMantenerOdontologo;
    private javax.swing.JMenuItem itemMantenerPaciente;
    private javax.swing.JMenuItem itemMantenerPerfil;
    private javax.swing.JMenuItem itemMantenerTecnicoDental;
    private javax.swing.JMenuItem itemMantenerTratamiento;
    private javax.swing.JMenuItem itemRegistrarCita;
    public javax.swing.JMenuItem itemRegistrarOdontologo;
    private javax.swing.JMenuItem itemRegistrarTecnicoDental;
    private javax.swing.JMenuItem itemRegitrarPaciente;
    private javax.swing.JMenuItem itemReportesGraficos;
    private javax.swing.JMenuItem itemVerCitas;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel lblIP;
    private javax.swing.JLabel lblPerfil;
    private javax.swing.JLabel lblUsuario;
    private javax.swing.JMenu mainAdminDiagnostico;
    private javax.swing.JMenu mainAdminMotivo;
    private javax.swing.JMenu mainAdminOdontologo;
    private javax.swing.JMenu mainAdminPaciente;
    private javax.swing.JMenu mainAdminReserva;
    private javax.swing.JMenu mainAdminTecnicoDental;
    private javax.swing.JMenu mainAdminTratamiento;
    private javax.swing.JMenu mainReportes;
    private javax.swing.JMenu menuAdmin;
    // End of variables declaration//GEN-END:variables

}
